package com.springboot.file.util.easyexcel.exception;

import com.springboot.file.exception.BusinessException;
import lombok.Getter;
import java.io.Serial;

/**
 * Excel导入异常类
 * 用于表示Excel导入过程中的整体错误
 */
@Getter
public class ExcelImportException extends BusinessException {
    
    @Serial
    private static final long serialVersionUID = 1L;
    
    /**
     * Sheet名称
     */
    private final String sheetName;
    
    /**
     * Sheet索引
     */
    private final int sheetIndex;
    
    /**
     * 错误数量
     */
    private final int errorCount;
    
    /**
     * 构造函数
     *
     * @param message 错误消息
     * @param sheetName Sheet名称
     * @param sheetIndex Sheet索引
     * @param errorCount 错误数量
     */
    public ExcelImportException(String message, String sheetName, int sheetIndex, int errorCount) {
        super(message);
        this.sheetName = sheetName;
        this.sheetIndex = sheetIndex;
        this.errorCount = errorCount;
    }
    
    /**
     * 获取格式化的错误消息
     *
     * @return 格式化的错误消息
     */
    public String getFormattedMessage() {
        return String.format("Sheet[%d:%s] 导入出现 %d 个错误", 
                sheetIndex, sheetName, errorCount);
    }
} 